package a.h;

import a.i.tb;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeListener;
import java.beans.VetoableChangeListener;
import java.io.*;
import java.lang.ref.WeakReference;
import java.util.*;
import java.util.List;

public class dc
  implements xc, x
{
  public static final byte a = 0;
  public static final byte b = 1;
  public static final byte c = 2;
  public static final byte d = 3;
  public static final String e = "OptionHandler.title";
  public static final String f = "OptionHandler.titleKey";
  static Map g = new HashMap();
  private static ob h;
  private static uc i;
  private static jb j = new gb();
  private static ob k;
  protected ob l;
  protected uc m;
  protected jb n;
  String o;
  Vector p;
  kd q;
  boolean r;
  JDialog s;
  boolean t;
  int u;
  private zb v;
  private kd w;
  private List x;
  private final vb y;
  private final wb z;
  private ib A;
  private ib B;
  Map C = null;
  static Class D;
  public static boolean E;
  
  static ob a()
  {
    return k;
  }
  
  public static void a(ob paramob)
  {
    h = paramob;
  }
  
  public static void a(uc paramuc)
  {
    i = paramuc;
  }
  
  public static uc b()
  {
    return i;
  }
  
  public static ob c()
  {
    return h;
  }
  
  public static List d()
  {
    int i1 = ec.t;
    boolean bool = ec.s;
    ArrayList localArrayList = new ArrayList();
    Iterator localIterator = g.values().iterator();
    do
    {
      do
      {
        dc localdc;
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          localdc = (dc)((WeakReference)localIterator.next()).get();
        } while (localdc == null);
        if ((i1 != 0) || (bool)) {
          break label87;
        }
        localArrayList.add(localdc);
      } while (i1 != 0);
    } while (!bool);
    label87:
    return localArrayList;
  }
  
  public static byte a(Object[] paramArrayOfObject, Object paramObject)
  {
    int i2 = ec.t;
    boolean bool = ec.s;
    do
    {
      for (int i1 = 0; !bool; i1++)
      {
        if (i1 >= paramArrayOfObject.length) {
          break;
        }
        if (bool) {
          break label47;
        }
        if (paramArrayOfObject[i1].equals(paramObject)) {
          return (byte)i1;
        }
      }
    } while (i2 != 0);
    label47:
    return -1;
  }
  
  private static void a(dc paramdc)
  {
    g.put(paramdc.e(), new WeakReference(paramdc));
  }
  
  public dc(String paramString)
  {
    this(null, null, paramString);
  }
  
  public dc(ob paramob, uc paramuc, String paramString)
  {
    if ((i1 != 0) || (paramob == null)) {
      paramob = c();
    }
    if ((i1 != 0) || (paramuc == null)) {
      paramuc = b();
    }
    this.l = paramob;
    this.m = paramuc;
    this.o = paramString;
    this.y = new vb(this);
    this.z = new wb(this);
    this.v = null;
    this.x = new ArrayList(1);
    this.p = new Vector(10);
    this.q = (this.w = new kd(""));
    a(this.q);
    this.p.add(this.q);
    u();
  }
  
  public dc(InputStream paramInputStream)
  {
    this(null, paramInputStream);
  }
  
  public dc(ob paramob, InputStream paramInputStream)
  {
    if (i5 == 0)
    {
      if (paramob == null) {
        paramob = c();
      }
      this.y = new vb(this);
      this.z = new wb(this);
      this.v = null;
      this.l = paramob;
    }
    StringBuffer localStringBuffer = new StringBuffer();
    try
    {
      BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(paramInputStream));
      do
      {
        do
        {
          int i1;
          if ((i1 = localBufferedReader.read()) == -1) {
            break;
          }
          localStringBuffer.append((char)i1);
          if ((i5 == 0) && (bool)) {
            break label136;
          }
        } while (!bool);
      } while (i5 != 0);
      localBufferedReader.close();
    }
    catch (IOException localIOException)
    {
      label136:
      n.b(localIOException);
    }
    this.p = new Vector(10);
    this.o = "";
    this.q = (this.w = new kd(""));
    a(this.q);
    this.p.add(this.q);
    jd localjd = new jd(localStringBuffer.toString());
    Properties localProperties = xb.a(localjd, "OPTIONHANDLER");
    a(localProperties.getProperty("name", "NONAME"));
    int i2 = 1;
    label598:
    do
    {
      String str2;
      String str4;
      do
      {
        String str3;
        do
        {
          do
          {
            for (;;)
            {
              if (i2 == 0) {
                break label736;
              }
              localProperties = new Properties();
              String str1 = xb.a(localjd, localProperties);
              if ((i5 == 0) && (str1 == null)) {
                break label736;
              }
              do
              {
                if (i5 == 0) {
                  if ("SECTION".equals(str1)) {
                    l(localProperties.getProperty("name", "NONAME"));
                  }
                }
                if ((i5 == 0) && ((!bool) || (!"ITEM".equals(str1)))) {
                  break;
                }
                str2 = localProperties.getProperty("name", "NONAME");
                str3 = localProperties.getProperty("type", "String");
                str4 = localProperties.getProperty("value", "");
              } while (i5 != 0);
              if ((i5 == 0) && (bool)) {
                return;
              }
              if (i5 == 0) {
                if ("String".equals(str3))
                {
                  b(str2, str4);
                  if ((i5 == 0) && (!bool)) {
                    continue;
                  }
                }
              }
              if (i5 == 0) {
                if ("Int".equals(str3))
                {
                  try
                  {
                    a(str2, Integer.parseInt(str4));
                  }
                  catch (NumberFormatException localNumberFormatException1)
                  {
                    n.b(localNumberFormatException1);
                  }
                  if ((i5 == 0) && (!bool)) {
                    continue;
                  }
                }
              }
              if (i5 == 0) {
                if ("Bool".equals(str3))
                {
                  a(str2, Boolean.valueOf(str4).booleanValue());
                  if ((i5 == 0) && (!bool)) {
                    continue;
                  }
                }
              }
              if (i5 == 0) {
                if ("Enum".equals(str3))
                {
                  String str5 = localProperties.getProperty("range", "");
                  StringTokenizer localStringTokenizer = new StringTokenizer(str5, ":");
                  String[] arrayOfString = new String[localStringTokenizer.countTokens()];
                  int i3 = 0;
                  int i4 = 0;
                  do
                  {
                    do
                    {
                      if (i4 >= arrayOfString.length) {
                        break label598;
                      }
                      arrayOfString[i4] = localStringTokenizer.nextToken();
                      if (bool) {
                        break;
                      }
                      if (arrayOfString[i4].equals(str4)) {
                        i3 = i4;
                      }
                      i4++;
                    } while (!bool);
                    a(str2, arrayOfString, i3);
                  } while (i5 != 0);
                  if ((i5 == 0) && (!bool)) {
                    continue;
                  }
                }
              }
              if (i5 != 0) {
                break label678;
              }
              if (!"Double".equals(str3)) {
                break label671;
              }
              try
              {
                a(str2, Double.parseDouble(str4));
              }
              catch (NumberFormatException localNumberFormatException2)
              {
                n.b(localNumberFormatException2);
              }
            }
          } while ((i5 == 0) && (!bool));
          if (i5 != 0) {
            break label709;
          }
          if (!"Comment".equals(str3)) {
            break;
          }
          c(str4);
        } while ((i5 == 0) && (!bool));
        if (i5 != 0) {
          break;
        }
      } while (!"File".equals(str3));
      a(str2, str4);
      if (i5 != 0) {
        break label742;
      }
    } while (!bool);
    label671:
    label678:
    label709:
    label736:
    n.a(this, "Option handler read:");
    label742:
    n.a(this, toString());
  }
  
  public void a(String paramString)
  {
    this.o = paramString;
  }
  
  public String e()
  {
    return this.o;
  }
  
  public jb f()
  {
    return this.n;
  }
  
  public void a(jb paramjb)
  {
    this.n = paramjb;
  }
  
  public rc a(String paramString1, String paramString2)
  {
    rc localrc = new rc(paramString1, paramString2);
    a(localrc);
    return localrc;
  }
  
  public ec a(String paramString, int paramInt)
  {
    nc localnc = new nc(paramString, paramInt);
    a(localnc);
    return localnc;
  }
  
  public ec a(String paramString, int paramInt1, int paramInt2, int paramInt3)
  {
    nc localnc = new nc(paramString, paramInt1, paramInt2, paramInt3);
    a(localnc);
    return localnc;
  }
  
  public ec a(String paramString, double paramDouble)
  {
    jc localjc = new jc(paramString, paramDouble);
    a(localjc);
    return localjc;
  }
  
  public ec a(String paramString, double paramDouble1, double paramDouble2, double paramDouble3)
  {
    jc localjc = new jc(paramString, paramDouble1, paramDouble2, paramDouble3);
    a(localjc);
    return localjc;
  }
  
  public ec a(String paramString, double paramDouble1, double paramDouble2, double paramDouble3, int paramInt)
  {
    jc localjc = new jc(paramString, paramDouble1, paramDouble2, paramDouble3, paramInt);
    a(localjc);
    return localjc;
  }
  
  public kc a(String paramString, Object[] paramArrayOfObject, int paramInt)
  {
    kc localkc = new kc(paramString, paramArrayOfObject, paramInt);
    a(localkc);
    return localkc;
  }
  
  public kc b(String paramString)
  {
    kc localkc = new kc(paramString);
    a(localkc);
    return localkc;
  }
  
  public kc a(String paramString, Object[] paramArrayOfObject, Object paramObject, ListCellRenderer paramListCellRenderer)
  {
    kc localkc = new kc(paramString, paramArrayOfObject, paramObject);
    localkc.a(paramListCellRenderer);
    a(localkc);
    return localkc;
  }
  
  public ec a(String paramString, boolean paramBoolean)
  {
    hc localhc = new hc(paramString, paramBoolean);
    a(localhc);
    return localhc;
  }
  
  public ec a(ec paramec)
  {
    paramec.c(this.z);
    paramec.a(this.z);
    this.q.add(paramec);
    a(this.q, paramec);
    a(this.q.a(), paramec);
    return paramec;
  }
  
  public ec b(String paramString1, String paramString2)
  {
    tc localtc = new tc(paramString1, paramString2);
    a(localtc);
    return localtc;
  }
  
  public ec a(String paramString1, String paramString2, int paramInt)
  {
    tc localtc = new tc(paramString1, paramString2, paramInt);
    a(localtc);
    return localtc;
  }
  
  public ec a(String paramString1, String paramString2, int paramInt1, int paramInt2)
  {
    tc localtc = new tc(paramString1, paramString2);
    localtc.a(tc.E, new Integer(paramInt1));
    localtc.a(tc.F, new Integer(paramInt2));
    a(localtc);
    return localtc;
  }
  
  public ec a(String paramString, Object paramObject)
  {
    return a(paramString, paramObject, false, false, false, true);
  }
  
  public ec a(String paramString, Object paramObject, boolean paramBoolean)
  {
    return a(paramString, paramObject, paramBoolean, paramBoolean, paramBoolean, true);
  }
  
  public ec a(String paramString, Object paramObject, boolean paramBoolean1, boolean paramBoolean2, boolean paramBoolean3, boolean paramBoolean4)
  {
    int i1 = ec.t;
    if ((i1 != 0) || (paramObject != null)) {
      if (i1 != 0) {}
    }
    boolean bool = !(paramObject instanceof Color);
    if (!(paramObject instanceof Color)) {
      paramObject = null;
    }
    ic localic = new ic(paramString, (Color)paramObject, paramBoolean1, paramBoolean2, paramBoolean3, paramBoolean4);
    localic.b(bool);
    a(localic);
    return localic;
  }
  
  public void b(String paramString, int paramInt)
  {
    c(paramString, paramInt);
  }
  
  public void c(String paramString)
  {
    b(paramString, -1);
  }
  
  public qc c(String paramString, int paramInt)
  {
    qc localqc = new qc(paramString, paramInt);
    a(localqc);
    return localqc;
  }
  
  public qc d(String paramString)
  {
    return c(paramString, -1);
  }
  
  public void a(dc paramdc, String paramString)
  {
    if (ec.t == 0) {
      if (this.q == this.w)
      {
        this.p.clear();
        this.q = new kd(paramString);
        this.p.add(this.q);
      }
    }
    this.p.addAll(paramdc.p);
    this.x.add(paramdc);
  }
  
  public void b(String paramString, Object paramObject)
  {
    k(paramString).a(paramObject);
  }
  
  public void a(String paramString1, String paramString2, Object paramObject)
  {
    j(paramString1, paramString2).a(paramObject);
  }
  
  public void a(String paramString1, String paramString2, String paramString3)
  {
    j(paramString1, paramString2).b(paramString3);
  }
  
  public int c(String paramString1, String paramString2)
  {
    return tb.d(h(paramString1, paramString2));
  }
  
  public int e(String paramString)
  {
    return tb.d(j(paramString));
  }
  
  public double d(String paramString1, String paramString2)
  {
    return tb.e(h(paramString1, paramString2));
  }
  
  public double f(String paramString)
  {
    return tb.e(j(paramString));
  }
  
  public boolean g(String paramString)
  {
    return tb.a(j(paramString));
  }
  
  public boolean e(String paramString1, String paramString2)
  {
    return tb.a(h(paramString1, paramString2));
  }
  
  public String h(String paramString)
  {
    return (String)j(paramString);
  }
  
  public String f(String paramString1, String paramString2)
  {
    return (String)h(paramString1, paramString2);
  }
  
  public int i(String paramString)
  {
    return ((kc)k(paramString)).r();
  }
  
  public int g(String paramString1, String paramString2)
  {
    return ((kc)j(paramString1, paramString2)).r();
  }
  
  public Object h(String paramString1, String paramString2)
  {
    return j(paramString1, paramString2).o();
  }
  
  public String i(String paramString1, String paramString2)
  {
    return j(paramString1, paramString2).h();
  }
  
  public ec j(String paramString1, String paramString2)
  {
    int i2 = ec.t;
    ec localec = null;
    kd localkd = m(paramString1);
    if (localkd != null) {
      for (int i1 = 0; i1 < localkd.size(); i1++) {
        if ((i2 != 0) || (localkd.b(i1).d().equals(paramString2)))
        {
          localec = localkd.b(i1);
          break;
        }
      }
    }
    if (i2 == 0) {
      if (localec == null) {
        throw new IllegalArgumentException("No such Option: [" + paramString1 + "," + paramString2 + "]");
      }
    }
    return localec;
  }
  
  public Object j(String paramString)
  {
    return k(paramString).o();
  }
  
  public ec k(String paramString)
  {
    int i3 = ec.t;
    boolean bool = ec.s;
    ec localec = null;
    int i1 = 0;
    label103:
    label113:
    do
    {
      if (i1 >= this.p.size()) {
        break;
      }
      kd localkd = b(i1);
      if ((i3 == 0) && (bool)) {
        return localec;
      }
      int i2 = 0;
      do
      {
        do
        {
          if (i2 >= localkd.size()) {
            break label103;
          }
          if (bool) {
            break;
          }
          if (localkd.b(i2).d().equals(paramString))
          {
            localec = localkd.b(i2);
            if (i3 != 0) {
              break label113;
            }
            if (!bool) {
              break label103;
            }
          }
          i2++;
        } while (!bool);
        i1++;
      } while (i3 != 0);
    } while (!bool);
    if ((i3 == 0) && (i3 == 0)) {
      if (localec == null) {
        throw new IllegalArgumentException("No such Option: [" + paramString + "]");
      }
    }
    return localec;
  }
  
  public void a(int paramInt)
  {
    this.u = paramInt;
  }
  
  public void g()
  {
    this.p.clear();
    this.q = (this.w = new kd(""));
    this.p.add(this.q);
  }
  
  public kd l(String paramString)
  {
    int i1 = ec.t;
    boolean bool = ec.s;
    if (i1 == 0) {
      if (this.q == this.w)
      {
        this.p.clear();
        this.q = new kd(paramString);
        a(this.q);
        if (i1 != 0) {
          break label135;
        }
        this.p.add(this.q);
        if (!bool) {
          break label134;
        }
      }
    }
    kd localkd = m(paramString);
    if (i1 == 0)
    {
      if (localkd != null)
      {
        if (i1 != 0) {
          break label135;
        }
        this.q = localkd;
        if (!bool) {}
      }
      else
      {
        this.q = new kd(paramString);
        a(this.q);
      }
    }
    else {
      this.p.add(this.q);
    }
    label134:
    label135:
    return this.q;
  }
  
  public kd b(int paramInt)
  {
    return (kd)this.p.elementAt(paramInt);
  }
  
  public int h()
  {
    return this.p.size();
  }
  
  public kd m(String paramString)
  {
    int i2 = ec.t;
    boolean bool = ec.s;
    int i1 = 0;
    do
    {
      if (i1 >= this.p.size()) {
        break;
      }
      kd localkd = (kd)this.p.elementAt(i1);
      if (i2 == 0)
      {
        if (localkd.a().equals(paramString)) {
          return localkd;
        }
        i1++;
      }
    } while (!bool);
    return null;
  }
  
  public boolean i()
  {
    return a(null);
  }
  
  public boolean a(Frame paramFrame)
  {
    return a(paramFrame, (byte)0);
  }
  
  private jb j()
  {
    if (ec.t == 0) {}
    return this.n != null ? this.n : j;
  }
  
  ob k()
  {
    if (ec.t == 0) {}
    return this.l != null ? this.l : k;
  }
  
  public boolean a(Frame paramFrame, byte paramByte)
  {
    int i1 = ec.t;
    if (i1 == 0) {
      if (this.t) {
        return true;
      }
    }
    ib localib = j().a(this);
    JComponent localJComponent = localib.f();
    String str = e() + ".ONLINE_HELP.URL";
    ActionListener local0 = new ActionListener()
    {
      private final ib val$editor;
      
      public void actionPerformed(ActionEvent paramAnonymousActionEvent)
      {
        int i = ec.t;
        boolean bool = ec.s;
        dc.this.r = false;
        String str = paramAnonymousActionEvent.getActionCommand();
        if (i == 0) {
          if ("OK_ACTION".equals(str))
          {
            if (i == 0)
            {
              if (!dc.this.o()) {
                return;
              }
              dc.this.a(this.val$editor);
              dc.this.r = true;
              dc.this.m();
            }
            if ((i == 0) && (!bool)) {
              return;
            }
          }
        }
        if (i == 0) {
          if ("CANCEL_ACTION".equals(str))
          {
            dc.this.m();
            if ((i == 0) && (!bool)) {
              return;
            }
          }
        }
        if (i == 0) {
          if ("RESET_ACTION".equals(str))
          {
            dc.this.b(this.val$editor);
            if ((i == 0) && (!bool)) {
              return;
            }
          }
        }
        if ((i != 0) || (("APPLY_ACTION".equals(str)) && ((i != 0) || (dc.this.o())))) {
          dc.this.a(this.val$editor);
        }
      }
    };
    JPanel localJPanel1 = new JPanel(new BorderLayout());
    if (this.u > 0) {
      localJComponent.setPreferredSize(new Dimension(this.u, localJComponent.getPreferredSize().height));
    }
    JPanel localJPanel2 = new JPanel(new FlowLayout(2, 6, 0));
    localJPanel2.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
    JButton localJButton1 = k().a("OK_ACTION");
    localJButton1.setDefaultCapable(true);
    localJButton1.addActionListener(local0);
    localJPanel2.add(localJButton1);
    localJButton1.requestFocus();
    JButton localJButton2 = localJButton1;
    if (i1 == 0)
    {
      if (paramByte != 0)
      {
        if (i1 != 0) {
          break label245;
        }
        if (paramByte != 3) {}
      }
      else
      {
        localJButton1 = k().a("RESET_ACTION");
        localJButton1.addActionListener(local0);
      }
    }
    else {
      localJPanel2.add(localJButton1);
    }
    label245:
    if ((i1 != 0) || ((paramByte == 1) || (paramByte == 3)))
    {
      localJButton1 = k().a("APPLY_ACTION");
      localJButton1.addActionListener(local0);
      localJPanel2.add(localJButton1);
    }
    localJButton1 = k().a("CANCEL_ACTION");
    localJButton1.addActionListener(local0);
    localJPanel2.add(localJButton1);
    Action localAction = k().c(str);
    if (i1 == 0)
    {
      if (localAction != null)
      {
        localJButton1 = k().a("HELP_ACTION");
        localJButton1.addActionListener(localAction);
        localJPanel2.add(localJButton1);
      }
      localJPanel1.add(localJComponent, "Center");
      localJPanel1.add(localJPanel2, "South");
    }
    JOptionPane localJOptionPane = new JOptionPane(localJPanel1);
    localJOptionPane.setOptions(new Object[0]);
    this.s = localJOptionPane.createDialog(paramFrame, v());
    this.s.getRootPane().registerKeyboardAction(local0, "CANCEL_ACTION", KeyStroke.getKeyStroke("ESCAPE"), 1);
    this.s.getRootPane().registerKeyboardAction(local0, "OK_ACTION", KeyStroke.getKeyStroke("ENTER"), 1);
    this.s.getRootPane().setDefaultButton(localJButton2);
    this.s.setVisible(true);
    this.s.dispose();
    return this.r;
  }
  
  public JComponent l()
  {
    jb localjb = j();
    if (ec.t == 0) {
      if (localjb.a() == null)
      {
        localjb.a(k());
        try
        {
          localib = j().a(this);
        }
        finally
        {
          localjb.a(null);
        }
      }
    }
    ib localib = localjb.a(this);
    return localib.f();
  }
  
  void m()
  {
    this.s.dispose();
  }
  
  void a(ib paramib)
  {
    ib localib = this.A;
    try
    {
      this.A = paramib;
      n();
    }
    finally
    {
      this.A = localib;
    }
  }
  
  public void n()
  {
    int i3 = ec.t;
    boolean bool = ec.s;
    if ((i3 != 0) || (this.v != null))
    {
      if (i3 == 0) {
        if (this.A != null)
        {
          this.A.c();
          if (i3 != 0) {
            break label105;
          }
          if (!bool) {
            break label104;
          }
        }
      }
      Iterator localIterator1 = this.v.a().iterator();
      do
      {
        if (!localIterator1.hasNext()) {
          break;
        }
        ((ib)localIterator1.next()).c();
        if (i3 != 0) {
          break label199;
        }
        if (bool) {
          break label193;
        }
      } while (!bool);
    }
    label104:
    label105:
    int i1 = 0;
    if (i1 < this.p.size()) {}
    Object localObject;
    while (i3 != 0)
    {
      if (bool) {
        break label187;
      }
      localObject = b(i1);
      int i2 = 0;
      if (i2 < ((kd)localObject).size())
      {
        ((kd)localObject).b(i2).j();
        i2++;
      }
      for (;;)
      {
        if (i3 == 0) {
          if (!bool)
          {
            if (!bool) {
              break;
            }
            if (i3 != 0) {
              continue;
            }
            i1++;
          }
        }
      }
      if (!bool) {
        break;
      }
    }
    label187:
    Iterator localIterator2 = this.x.iterator();
    label193:
    label199:
    if (localIterator2.hasNext()) {}
    do
    {
      localObject = (dc)localIterator2.next();
      ((dc)localObject).n();
      if ((i3 == 0) && (bool)) {
        return;
      }
      if (!bool) {
        break;
      }
      if (i3 != 0) {
        break label249;
      }
    } while (i3 != 0);
    if (this.m != null) {
      label249:
      c(this.m);
    }
  }
  
  public boolean o()
  {
    int i3 = ec.t;
    boolean bool = ec.s;
    int i1 = 0;
    if (i1 < this.p.size()) {}
    Object localObject;
    label79:
    while (i3 != 0)
    {
      if (bool) {
        break label101;
      }
      localObject = b(i1);
      int i2 = 0;
      do
      {
        do
        {
          if (i2 >= ((kd)localObject).size()) {
            break label79;
          }
          if (bool) {
            break;
          }
          if (!((kd)localObject).b(i2).l())
          {
            JOptionPane.showMessageDialog(null, "Illegal Input Value!!!", "Error", 0);
            return false;
          }
          i2++;
        } while (!bool);
        i1++;
      } while (i3 != 0);
      if (!bool) {
        break;
      }
    }
    label101:
    Iterator localIterator = this.x.iterator();
    while (localIterator.hasNext())
    {
      localObject = (dc)localIterator.next();
      if (!((dc)localObject).o())
      {
        if ((i3 != 0) || (bool)) {
          break label146;
        }
        return false;
      }
    }
    label146:
    return true;
  }
  
  void b(ib paramib)
  {
    ib localib = this.B;
    try
    {
      this.B = paramib;
      p();
    }
    finally
    {
      this.B = localib;
    }
  }
  
  public void p()
  {
    int i3 = ec.t;
    boolean bool = ec.s;
    if ((i3 != 0) || (this.v != null))
    {
      if (i3 == 0) {
        if (this.B != null)
        {
          this.B.e();
          if (i3 != 0) {
            break label105;
          }
          if (!bool) {
            break label104;
          }
        }
      }
      Iterator localIterator1 = this.v.a().iterator();
      do
      {
        if (!localIterator1.hasNext()) {
          break;
        }
        ((ib)localIterator1.next()).e();
        if (i3 != 0) {
          break label198;
        }
        if (bool) {
          break label192;
        }
      } while (!bool);
    }
    label104:
    label105:
    int i1 = 0;
    if (i1 < this.p.size()) {}
    Object localObject;
    while (i3 != 0)
    {
      if (bool) {
        break label186;
      }
      localObject = b(i1);
      int i2 = 0;
      if (i2 < ((kd)localObject).size())
      {
        ((kd)localObject).b(i2).k();
        i2++;
      }
      for (;;)
      {
        if (i3 == 0) {
          if (!bool)
          {
            if (!bool) {
              break;
            }
            if (i3 != 0) {
              continue;
            }
            i1++;
          }
        }
      }
      if (!bool) {
        break;
      }
    }
    label186:
    Iterator localIterator2 = this.x.iterator();
    label192:
    label198:
    do
    {
      if (!localIterator2.hasNext()) {
        break;
      }
      localObject = (dc)localIterator2.next();
      ((dc)localObject).p();
    } while (!bool);
  }
  
  public void a(PropertyChangeListener paramPropertyChangeListener)
  {
    this.z.c(paramPropertyChangeListener);
  }
  
  public void b(PropertyChangeListener paramPropertyChangeListener)
  {
    this.z.d(paramPropertyChangeListener);
  }
  
  public void a(String paramString, PropertyChangeListener paramPropertyChangeListener)
  {
    this.z.c(paramString, paramPropertyChangeListener);
  }
  
  public void b(String paramString, PropertyChangeListener paramPropertyChangeListener)
  {
    this.z.d(paramString, paramPropertyChangeListener);
  }
  
  public void a(VetoableChangeListener paramVetoableChangeListener)
  {
    this.z.a(paramVetoableChangeListener);
  }
  
  public void b(VetoableChangeListener paramVetoableChangeListener)
  {
    this.z.b(paramVetoableChangeListener);
  }
  
  public void a(String paramString, VetoableChangeListener paramVetoableChangeListener)
  {
    this.z.a(paramString, paramVetoableChangeListener);
  }
  
  public void b(String paramString, VetoableChangeListener paramVetoableChangeListener)
  {
    this.z.b(paramString, paramVetoableChangeListener);
  }
  
  public void a(OutputStream paramOutputStream)
  {
    int i4 = ec.t;
    boolean bool = ec.s;
    PrintStream localPrintStream = new PrintStream(paramOutputStream);
    String str = "\"";
    localPrintStream.println("<OPTIONHANDLER name=" + str + e() + str + ">");
    int i1 = 0;
    label423:
    label425:
    label428:
    do
    {
      if (i1 >= this.p.size()) {
        break;
      }
      kd localkd = b(i1);
      if (bool) {
        return;
      }
      if (localkd != this.w) {
        localPrintStream.println("<SECTION name=" + str + localkd.a() + str + ">");
      }
      int i2 = 0;
      do
      {
        do
        {
          if (i2 >= localkd.size()) {
            break label428;
          }
          ec localec = localkd.b(i2);
          localPrintStream.print("<ITEM name=" + str + localec.d() + str + " " + "value" + "=" + str + localec.o() + str + " " + "type" + "=" + str + localec.n() + str);
          if (bool) {
            break;
          }
          if ((localec instanceof kc))
          {
            localPrintStream.print(" range=" + str);
            Object[] arrayOfObject = ((kc)localec).s();
            int i3 = 0;
            if (i3 < arrayOfObject.length - 1) {}
            while (i4 != 0)
            {
              localPrintStream.print(arrayOfObject[i3] + ":");
              i3++;
              if (i4 != 0) {
                break label425;
              }
              if (bool) {
                break label423;
              }
              if (!bool) {
                break;
              }
            }
            localPrintStream.print(arrayOfObject[(arrayOfObject.length - 1)] + str);
          }
          localPrintStream.print(">");
          localPrintStream.println("</ITEM>");
          i2++;
        } while (!bool);
        localPrintStream.println("</SECTION>");
        i1++;
      } while (i4 != 0);
    } while (!bool);
    localPrintStream.println("</OPTIONHANDLER>");
    if (i4 == 0) {
      localPrintStream.close();
    }
  }
  
  public String toString()
  {
    ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
    a(localByteArrayOutputStream);
    return localByteArrayOutputStream.toString();
  }
  
  public boolean b(uc paramuc)
  {
    Map localMap = paramuc.a(e());
    if (localMap != null) {
      return a(localMap);
    }
    return false;
  }
  
  public boolean q()
  {
    if ((ec.t != 0) || (s() != null)) {
      return b(s());
    }
    return true;
  }
  
  private boolean a(String paramString, ec paramec)
  {
    int i1 = ec.t;
    if ((i1 != 0) || (this.m != null))
    {
      if (i1 == 0) {
        if (this.C == null) {
          this.C = this.m.a(e());
        }
      }
      if ((i1 != 0) || (this.C != null)) {
        return a(paramString, paramec, this.C);
      }
    }
    return false;
  }
  
  private boolean a(ec paramec, String paramString)
  {
    if (paramString == null)
    {
      paramec.b(true);
      return false;
    }
    paramec.b(paramString);
    paramec.b(false);
    return true;
  }
  
  private boolean a(String paramString, ec paramec, Map paramMap)
  {
    int i1 = ec.t;
    Map localMap = null;
    if (i1 == 0) {
      if (this.w.a().equals(paramString))
      {
        localMap = paramMap;
        break label62;
      }
    }
    Object localObject = paramMap.get(paramString);
    if ((i1 != 0) || ((localObject instanceof Map))) {
      localMap = (Map)localObject;
    }
    label62:
    if ((i1 != 0) || (localMap != null))
    {
      localObject = localMap.get(paramec.d());
      if (i1 == 0) {
        if (localObject == null)
        {
          if (i1 != 0) {
            break label137;
          }
          if (localMap.containsKey(paramec.d())) {
            break label127;
          }
        }
      }
      if (i1 != 0) {
        break label139;
      }
      if ((localObject instanceof String)) {
        label127:
        return a(paramec, (String)localObject);
      }
    }
    label137:
    label139:
    return false;
  }
  
  private boolean a(Map paramMap)
  {
    int i1 = ec.t;
    boolean bool2 = ec.s;
    boolean bool1 = false;
    label133:
    label154:
    label183:
    label207:
    do
    {
      Iterator localIterator = this.p.iterator();
      break label207;
      break label207;
      do
      {
        Object localObject2;
        Object localObject3;
        do
        {
          kd localkd;
          do
          {
            do
            {
              do
              {
                if (!localIterator.hasNext()) {
                  return bool1;
                }
                localkd = (kd)localIterator.next();
                if (i1 != 0) {
                  break label183;
                }
                if (localkd != this.w) {
                  break;
                }
                localObject1 = localkd.iterator();
              } while (!((Iterator)localObject1).hasNext());
              localObject2 = (ec)((Iterator)localObject1).next();
              localObject3 = paramMap.get(((ec)localObject2).d());
              if (i1 == 0) {
                if (localObject3 == null)
                {
                  if (i1 != 0) {
                    break label154;
                  }
                  if (paramMap.containsKey(((ec)localObject2).d())) {
                    break label133;
                  }
                }
              }
              if (!(localObject3 instanceof String)) {
                break;
              }
              bool1 |= a((ec)localObject2, (String)localObject3);
            } while (i1 != 0);
            if (i1 != 0) {
              break label321;
            }
            if (bool2) {
              return bool1;
            }
            if (i1 == 0)
            {
              if (!bool2) {
                break;
              }
              localObject1 = paramMap.get(localkd.a());
            }
          } while (!(localObject1 instanceof Map));
          localObject2 = (Map)localObject1;
          localObject3 = localkd.iterator();
        } while (!((Iterator)localObject3).hasNext());
        ec localec = (ec)((Iterator)localObject3).next();
        Object localObject1 = ((Map)localObject2).get(localec.d());
        if (i1 == 0) {
          if (localObject1 == null)
          {
            if (i1 != 0) {
              break label302;
            }
            if (((Map)localObject2).containsKey(localec.d())) {
              break label281;
            }
          }
        }
        if (!(localObject1 instanceof String)) {
          break;
        }
        bool1 |= a(localec, (String)localObject1);
      } while (i1 != 0);
    } while ((i1 == 0) && ((!bool2) && ((i1 == 0) && (!bool2))));
    label281:
    label302:
    label321:
    return bool1;
  }
  
  public void c(uc paramuc)
  {
    int i3 = ec.t;
    boolean bool = ec.s;
    HashMap localHashMap1 = new HashMap();
    int i1 = 0;
    label102:
    do
    {
      if (i1 >= h()) {
        break;
      }
      kd localkd = b(i1);
      if (bool) {
        return;
      }
      HashMap localHashMap2;
      if (((i3 == 0) && (localkd.a() == null)) || (localkd.a().length() < 1))
      {
        localHashMap2 = localHashMap1;
        if (i3 != 0) {
          break label102;
        }
        if (!bool) {}
      }
      else
      {
        localHashMap2 = new HashMap();
        localHashMap1.put(localkd.a(), localHashMap2);
      }
      int i2 = 0;
      do
      {
        do
        {
          if (i2 >= localkd.b()) {
            break label200;
          }
          ec localec = localkd.b(i2);
          if (bool) {
            break;
          }
          if (localec.m())
          {
            localHashMap2.put(localec.d(), null);
            if (i3 != 0) {
              continue;
            }
            if (!bool) {}
          }
          else
          {
            String str = localec.h();
            if (i3 != 0) {
              continue;
            }
            if (str != null) {
              localHashMap2.put(localec.d(), str);
            }
          }
          i2++;
        } while (!bool);
        i1++;
      } while (i3 != 0);
    } while (!bool);
    label200:
    if (i3 == 0) {
      paramuc.a(e(), localHashMap1);
    }
  }
  
  public ob r()
  {
    return this.l;
  }
  
  public void b(ob paramob)
  {
    this.l = paramob;
  }
  
  public uc s()
  {
    return this.m;
  }
  
  public void d(uc paramuc)
  {
    this.m = paramuc;
  }
  
  public ib c(ib paramib)
  {
    if (ec.t == 0) {
      if (this.v == null) {
        this.v = new zb(this, 1);
      }
    }
    return this.v.a(paramib);
  }
  
  public void d(ib paramib)
  {
    if (ec.t == 0) {
      if (this.v == null) {
        return;
      }
    }
    this.v.b(paramib);
  }
  
  public List t()
  {
    if (ec.t == 0) {
      if (this.v == null) {
        return Collections.EMPTY_LIST;
      }
    }
    return this.v.a();
  }
  
  public void a(ib.a_ parama_)
  {
    if (ec.t == 0) {
      if (this.v == null) {
        this.v = new zb(this, 1);
      }
    }
    this.v.a(parama_);
  }
  
  public void b(ib.a_ parama_)
  {
    if (ec.t == 0) {
      if (this.v == null) {
        return;
      }
    }
    this.v.b(parama_);
  }
  
  public Object n(String paramString)
  {
    return this.y.a(paramString);
  }
  
  public void o(String paramString)
  {
    this.y.b(paramString);
  }
  
  public void c(String paramString, Object paramObject)
  {
    this.y.a(paramString, paramObject);
  }
  
  public void c(PropertyChangeListener paramPropertyChangeListener)
  {
    this.y.c(paramPropertyChangeListener);
  }
  
  public void d(PropertyChangeListener paramPropertyChangeListener)
  {
    this.y.d(paramPropertyChangeListener);
  }
  
  public void c(String paramString, PropertyChangeListener paramPropertyChangeListener)
  {
    this.y.c(paramString, paramPropertyChangeListener);
  }
  
  public void d(String paramString, PropertyChangeListener paramPropertyChangeListener)
  {
    this.y.d(paramString, paramPropertyChangeListener);
  }
  
  private void a(kd paramkd)
  {
    int i1 = ec.t;
    String str1 = e();
    String str2 = null;
    if (((i1 != 0) || (str1 != null)) && ((i1 != 0) || (str1.length() > 0))) {
      str2 = str1;
    }
    if (str2 != null) {
      paramkd.a(kd.a, str2);
    }
  }
  
  private void a(kd paramkd, ec paramec)
  {
    int i1 = ec.t;
    String str1 = e();
    String str2 = paramkd.a();
    String str3 = null;
    if (((i1 != 0) || (str2 != null)) && ((i1 != 0) || (str2.length() > 0))) {
      str3 = str2;
    }
    if (i1 == 0) {
      if (str1 != null)
      {
        if (i1 != 0) {
          break label120;
        }
        if (str1.length() > 0)
        {
          if (i1 == 0) {
            if (str3 != null)
            {
              if (i1 != 0) {
                break label120;
              }
              str3 = str1 + "." + str3;
              if (!ec.s) {
                break label118;
              }
            }
          }
          str3 = str1;
        }
      }
    }
    label118:
    if (str3 != null) {
      label120:
      paramec.a(ec.c, str3);
    }
  }
  
  private void u()
  {
    a(this);
  }
  
  private String v()
  {
    int i1 = ec.t;
    Object localObject = n("OptionHandler.title");
    if (i1 == 0)
    {
      if ((localObject instanceof String)) {
        return (String)localObject;
      }
      if (i1 == 0) {
        localObject = n("OptionHandler.titleKey");
      }
    }
    else if ((localObject instanceof String))
    {
      return k().b((String)localObject);
    }
    return k().b(e());
  }
  
  static Class p(String paramString)
  {
    try
    {
      return Class.forName(paramString);
    }
    catch (ClassNotFoundException localClassNotFoundException)
    {
      throw new NoClassDefFoundError(localClassNotFoundException.getMessage());
    }
  }
  
  static
  {
    try
    {
      k = new b_((D == null ? (dc.D = p("a.h.dc")) : D).getName());
    }
    catch (Exception localException) {}
  }
  
  private static final class b_
    implements ob
  {
    private yc a = new yc();
    
    public b_(String paramString)
    {
      this.a.a(false);
      try
      {
        this.a.d(paramString);
      }
      catch (MissingResourceException localMissingResourceException) {}
    }
    
    public JButton a(Action paramAction)
    {
      return new JButton(paramAction);
    }
    
    public JButton a(String paramString)
    {
      JButton localJButton = new JButton();
      localJButton.setText(b(paramString));
      localJButton.setActionCommand(paramString);
      if (ec.t == 0)
      {
        localJButton.setText(b(paramString + ".NAME"));
        if ((!"OK_ACTION".equals(paramString)) && (!"APPLY_ACTION".equals(paramString))) {}
      }
      else
      {
        localJButton.setDefaultCapable(true);
      }
      return localJButton;
    }
    
    public String b(String paramString)
    {
      int j = ec.t;
      if (paramString == null) {
        return null;
      }
      if ((j != 0) || (this.a != null)) {
        try
        {
          String str1 = this.a.b(paramString);
          if ((j != 0) || (!str1.equals(paramString))) {
            return str1;
          }
        }
        catch (MissingResourceException localMissingResourceException) {}
      }
      String str2 = paramString;
      int i = d(paramString);
      if ((j != 0) || (i > 0)) {
        if (j == 0)
        {
          if (i < paramString.length() - 1) {
            if (j != 0) {
              break label117;
            }
          }
        }
        else if (!Character.isWhitespace(paramString.charAt(i + 1))) {
          str2 = paramString.substring(i + 1);
        }
      }
      label117:
      return str2.replaceAll("\\\\\\.", ".");
    }
    
    private int d(String paramString)
    {
      int k = ec.t;
      boolean bool = ec.s;
      if (k == 0) {
        if (paramString == null) {
          return -1;
        }
      }
      int i = paramString.length();
      int j = paramString.lastIndexOf('.', i);
      if (j > -1)
      {
        if (bool) {
          break label90;
        }
        if (j != 0)
        {
          if (k != 0) {
            break label69;
          }
          if ('\\' == paramString.charAt(j - 1)) {
            break label67;
          }
        }
      }
      label67:
      label69:
      while (k != 0)
      {
        return j;
        i = j - 1;
        j = paramString.lastIndexOf('.', i);
        if (!bool) {
          break;
        }
      }
      label90:
      return -1;
    }
    
    public Action c(String paramString)
    {
      return null;
    }
    
    public boolean equals(Object paramObject)
    {
      return paramObject instanceof b_;
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.h.dc

 * JD-Core Version:    0.7.0.1

 */